A Generic Reification Technique for Object-Oriented Reflective Languages
نویسندگان
چکیده
Computational reflection is gaining interest in practical applications as witnessed by the use of reflection in the JAVA programming environment and recent work on reflective middleware. Reflective systems offer many different reflection programming interfaces, the so-called MetaObject Protocols (MOPs). Their design is subject to a number of constraints relating to, among others, expressive power, efficiency and security properties. Since these constraints are different from one application to another, we should be able to easily provide specially-tailored MOPs. In this paper, we present a generic reification technique based on program transformation. It enables the selective reification of arbitrary parts of object-oriented metacircular interpreters. The program transformation can be applied to different interpreter definitions. Each resulting reflective implementation provides a different MOP directly derived from the original interpreter definition.
منابع مشابه
The next 700 reflective object-oriented languages
Since Smith seminal work, there have been numerous reflective language definition and implementation proposals. These proposals, initially restricted to functional languages, have been quickly extended to object-oriented languages. Unfortunately, reflective objectoriented language definitions remained mostly ad hoc. In this paper, we present a generic reification technique which enables the sel...
متن کاملReflective Extension of Object Constraint Languages, Sustainable Constraint Writing and a Symbolic Viewpoint of Modeling Languages
In this technical report we show how to extend object constraint languages by reflection. We do this in terms of the concrete OMG language stack. We extend the OCL (Object Constraint Language) by operators for reification and reflection. We give precise semantics to the extended language OCLR by giving the necessary type derivation rules and value specifications. A driving force for the introdu...
متن کاملChannel Reification: A Reflective Model for Distributed Computation
The paper presents a new reflective model, called Channel Reification, which can be used in distributed computations to overcome difficulties experienced by other models in the literature when monitoring communication among objects. The channel is an extension of the message reification model. A Channel is a communication manager incarning successive messages exchanges by two objects: its appli...
متن کاملOn the lightweight and selective introduction of reflective capabilities in applications
Computational reflection is gaining interest in practical applications: modern software frequently requires strong adaptability conditions to be met in order to fit a heterogenous and evolving computing environment. Most of these applications only need limited but flexible reflective capabilities rather than sophisticated reflective languages and reflective runtime systems. However, there is no...
متن کاملPrototyping Languages Related Constructs and Tools with Squeak∗
Prototyping new programming languages is often assimilated as a task requiring heavy expertise in parsing and compilation. This paper argues that choosing as a host platform a language having advanced reflective capabilities helps in reducing the effort and time spent on developing new language related constructs and tools. The Squeak Smalltalk implementation provides very expressive reflective...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Higher-Order and Symbolic Computation
دوره 14 شماره
صفحات -
تاریخ انتشار 2001